1. Field of the Invention
The invention relates generally to the field of communication network architectures for computing systems. More specifically, the invention relates to a transport layer architecture for network communication between an operating system instance supporting multiple application protocols and firmware services.
2. Description of the Related Art
Computing systems generally include communication mechanisms such as channel architectures for exchanging information with a variety of firmware/hardware services accessible to the system. Often, however, these channel architectures are geared at transmitting large amounts of data and programs between the operating system and the firmware/hardware services. Thus, the channel architecture is generally laid out for mass, not for speed.
Recently, however, some transmission protocols have emerged, the specific requirements of which cannot be fulfilled by the existing channel architectures. These protocol applications for coupling two machines require a mechanism for very fast transmission of small messages in order to lock or to open memory regions. State-of-the-art channel architectures are unable to satisfy these speed requirements, which is why these applications are generally implemented by a dedicated coupling transport driver (parallel sysplex). For example, the QDIO protocol application employed for addressing network/ethernet interface hardware makes use of a dedicated transport mechanism which involves a dedicated QDIO transport driver on the hardware end. Similarly, console application SCLP (System Call Logical Processor) used for addressing and communicating with service elements connected to the system requires a dedicated transport mechanism in order to address service elements located outside of the machine properly. Thus, in order to satisfy the requirements of these applications, each application has developed its own individual application protocol with an individual transport layer as well as an individual service transport engine. A computing system running a variety of these applications thus has to provide a multitude of dedicated transport layer mechanisms.
Corresponding to each of these individual application protocols and transport layer mechanisms, a translation layer has to be provided in the system's virtual machine. In order to guarantee data integrity of all communication processes related to the various applications, the virtual machine has to keep track of all storage areas which need to be accessed during the applications' execution and ensure that they are indeed available. This requires that a dedicated storage control mechanism be implemented within the virtual machine for each application.
Consequently, each additional application to be installed in the computing system requires additional efforts in the operating system layer, the firmware layer and the virtual machine layer. All three layers have to enable dedicated individual protocols of each application. Since existing protocols are not generic enough to map all transport layers, this requires a lot of programming and implementation efforts.
As far as queuing structures are concerned, related art firmware queue interfaces define a fixed queue structure which is implicit and proprietary to the protocol and invisible to the transport service. As a consequence, in related art communication mechanisms, the virtual machine needs to obtain information on the queue structure of each specific protocol. This requires providing appropriate patches of code for the various protocols and delivering them to the virtual machine.
Thus, there is a need for a modified communication architecture which reduces the complexity, cost and effort which is customarily related to implementing a multitude of dedicated transport layer mechanisms corresponding to multiple dedicated applications. Specifically, there is a need for communication architecture which is capable of handling a multitude of different application protocols requiring information and/or data exchange between an operating system instance and various firmware services.